본문 바로가기

기타 개발팁

환율 API 쉽게 쓰기 사실 환율관련 OPEN API는 차고 넘친다. 로그인해서 key받아서 쓰는 서비스도 많고, 그냥 막 쓸만한것도 많다. 이왕이면 key없이 쓰는게 여러모로 편리할 것 같은데 그중에서도 실시간 뿐만 아니라 과거날짜 것도 가져올 수 있는 것이 내 사용 상황에 맞는 것 같다. 일단 검색하면 제일 먼저 나오는게 업비트 두나무의 https://quotation-api-cdn.dunamu.com/v1/forex/recent?codes=FRX.JPYUSD 이런건데 이건 실시간만 가능한 것 같고 네이버 환율 https://m.search.naver.com/p/csearch/content/qapirender.nhn?key=calculator&pkid=141&q=%ED%99%98%EC%9C%A8&where=m&u1=keb&.. 더보기
클라우드 GPU로 stable diffusion 싸게 싸게 아무래도 요즘 이미지 생성 또는 약간의 보정을 stable diffusion의 도움을 받을 때가 많다. https://runpod.io Rent Cloud GPUs from $0.2/hour Global Interoperability Select from 30+ regions across North America, Europe, and South America. www.runpod.io 이런 신통한 클라우드 서비스가 있다. GPU 서버를 후딱 빌려서 쓰고, 시간당 300원 이하도 가능하고, 위 스샷에서 젤 싼 $0.21/hr 짜리 해봤는데 충분한 성능이 되고도 한참 남았다. 혹시나 해서 $10달러만 충전하고 이미지 10개이상 쭉쭉 뽑아보고, safetensors 8기가짜리도 다운받아서 돌려보고 몇분 안썼.. 더보기
AWS Lightsail Nginx 서버 만들기 Lightsail 을 이용해서 간단히 기본 개발을 위한 소프트웨어가 설치된 서버를 생성해보겠다. 위 이미지처럼 다양하지만, 조금 LAMP보다는 LEMP 스택으로 하고 싶어서 Nginx를 선택해보았다. 아래 처럼 매우 저렴한 요금으로 시작할 수 있다. 선택하고 다른 옵션은 무시해도 된다. 그러면 2~3분 정도에 아래와 같이 서버준비가 완료된다. 콘솔버튼을 누르면 아래와 같은 화면이 나오고 바로 시작할 수 있다. 매번 AWS에 로그인해서 이렇게 접속하는 것보다 SSH 클라이언트를 이용해서 접속하는 경우가 많으니, 자주 접속하기 위해서는 SSH 클라이언트 세팅이 필요하다. 아래와 같은 화면에서 SSH키 (.pem 파일) 를 다운로드 받을 수 있다. 다운로드 받은 .pem 파일은 SSH 클라이언트인 putty에.. 더보기
AWS S3 큰 파일 업로드 다운로드 하기 업로드 하는 방법은 여러가지가 있다. 나의 경우 다른 사람에게 파일을 요청해서 업로드 받아야 하기도 해서 워드프레스의 S3 플러그인을 사용했다. 워드프레스 로그인 아이디는 user이고 패스워드는 아래와 같은 명령어로 찾을 수 있다. Offload Media Lite 를 사용했는데 뭐 업로드 하는 중간에 progress bar는 조금 잘 안나오지만, 그래도 무리없이 큰 파일도 잘 업로드가 되었다. 다운로드의 경우 그냥 콘솔에 접속해서 해도 되는데 용량이 2GB를 넘어가면... AWS CLI등을 써야한다. 그래서 AWS CLI를 다운로드 하고 인스톨하고, 하라는 대로 했지만 이런게 나온다. 그래서 aws configure를 해주고 그전에 aws에서 액세스 키도 발급해둔다. 그리고 나면... 잘 된다. com.. 더보기
파이썬 크롤링 (3) - 크롤링한 정보 이메일로 보내기 파이썬을 통해 크롤링과 파싱까지 진행을 했다면, 그 이후에는 약 3가지 정도로 갈림길이 있을 것 같다. 1. 서버 API 로 활용 2. DB에 바로 넣고 웹사이트 구축 3. 이메일 등으로 정보 전송 그중에서 가장 쉬운건 3번일 것 같다. 1번도 그냥 JSON형태로 print 하고 끝내면 사실 간단하긴 하지만, 어쨌든 크롤링 서버를 구축하고 해당 파일에서 외부 URL로 들어오는 것을 받아주는 부분을 추가로 만들어야 하니 아무래도 3번보다는 복잡해질 것 같다. 2번은 당연히 추가 구축하는 서비스에 따라 일이 커진다. 3번 이메일로 보내려면, 아주 심플하다. 외부 SMTP서비스를 활용해서 내용을 전송하면 된다. 위와 같은 식이 가장 심플할 것 같은데, SMTP를 제공하는 사이트에 따라 465번이나 587번 포.. 더보기
파이썬 크롤링 (2) - 동적 웹사이트 파이썬 크롤링 지난 글에서 설명한 것과 같이 정적인 웹사이트는 requests만으로도 쉽게 HTML문서 전체를 볼 수 있다. 하지만, 동적으로 로딩되는 데이터가 있는 사이트는 requests로 크롤링 했을 때 내용이 거의 없게 된다. 그럴 때는 실제 브라우저에서 해당 페이지를 로딩하면서 크롤링을 수행하면 된다. pip install selenium selenium은 크롬, 엣지, 파이어폭스 등의 브라우저를 다 지원하긴 하지만, 설치되어 있고 사용할 브라우저에 맞는 브라우저 드라이버파일을 받아서 연동해주어야 한다. 크롬 등을 사용한 예는 많기 때문에 엣지로 하는걸 써보려고 한다. 먼저 edgedriver를 아래처럼 다운 받는다. PC에 설치되어 있는 edge브라우저의 버전과 일치하는지도 확인해준다. 압축을 풀고 msed.. 더보기
파이썬 크롤링 (1) - 파이썬 크롤링을 위한 기본 세팅 서버가 아닌 개인PC 윈도우에서도 많이들 하기 때문에 이 기준으로 간단히 써보고자 한다. 크롤링은 사실 모든 프로그래밍 언어로 다 가능하고, 크롤링의 기본은 웹페이지에 접속해서 해당 웹페이지를 읽는 것이기 때문에 아주 단순하다. 그런데 보통 크롤링이라고 했을 때는, 해당 크롤링 이후에 웹문서를 분석하고 필요 정보를 추출하고, 정보를 보관하고 배포하는 정도까지도 뭉뚱그려서 표현하기 때문에 쉽다가도 어려워지기도 한다. 이글에서는 단순히 웹페이지를 읽고, 필요 텍스트를 추출하는 정도까지만 다루려고 한다. 1. 소프트웨어 설치 파이썬 크롤링이니까 파이썬을 설치해야 된다. cmd창에서 python이나 python3, py 같은 명령을 실행시켜서 작동이 안되면 python이 설치되어 있지 않거나 python이 어딘.. 더보기
라라벨 프로젝트 AWS Elastic Beanstalk을 이용해서 배포 환경 만들기 라라벨 프로젝트 샘플 하나를 정해서 진행해봄. github.com/rappasoft/laravel-boilerplate rappasoft/laravel-boilerplate The Laravel Boilerplate Project - https://laravel-boilerplate.com - rappasoft/laravel-boilerplate github.com $ git clone https://github.com/rappasoft/laravel-boilerplate.git my-project $ cd my-project $ cp .env.example .env .env 파일 로컬 db 환경에 맞게 수정 $ composer install $ npm install $ php artisan key:ge.. 더보기